Skip to content

Overview

Johan edited this page Sep 2, 2020 · 2 revisions

Overview Radioberry

Introduction

How is this radio build?, what are the main modules and components and how does all these module / components together to make it work?

Describing the radioberry data flow/stream to gain knowledge about the internal working of the radioberry.

The radioberry is actual a radio card (raspberry pi hat), which can be plugged into a raspberry pi, a so called Single Board Computer (SBC) forming a Software Defined Radio (SDR).

So the radioberry radio consist of 2 base module

  • radioberry card
  • raspberry pi (RPI-4)

radiobery card

As said the radio is SDR type of radio, the (analog domain) received radio signaal is directly converted into the digital domain.

There for you will find a Analag to Digital Converter (ADC) on the radio card; the card uses a AD9866 chip.

Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/AD9866.pdf

The analog radio signal is sampled, converted into the digital domain, by a clock running at 76.8MHz. Every second, 76800000 times a new sample is delivered. The AD9866 delivers 12 bits per sample making ‭921.600.000‬ bit/s.

It is obvious that we are not getting this large data flow in the SBC (single board computer) using the radioberry.

So we need to reduce the data flow. Therefore we are using a FPGA component.

The radio card uses an Intell Cyclone 10 FPGA. The radioberry supports the CL016 and CL025 chip.

Datasheet: https://www.intel.com/content/www/us/en/products/programmable/fpga/cyclone-10.html

The FPGA, Field Programmable Gate Array is a wonderfull device. The FPGA needs a program (actual a description of the hardware) to do its function, this program is called the gateware, and is responsible for the data flow reduction.

The gateware, actual a raw binary file (rbf) is the product of the RTL (register-transfer level) process, executed by Intell's Quartus free tool.

The gateware program must be loaded, after each power cycle into the FPGA.

Using the gateware develoment as defined for the Hermes Lite 2 by adding the radioberry boards and variants.

Gateware code : https://github.com/softerhardware/Hermes-Lite2/tree/master/gateware

KICAD is the software to describe the scheme and the 4-layer PCB.

Scheme and board files: https://github.com/pa3gsb/Radioberry-2.x/tree/master/hardware

raspberry pi

The other main module is a raspberry pi running the raspberry pi linux version.

The card and the raspberry pi are connected using the 40 pins GPIO connector.

The radioberry is using the GPIO of the SBC to retrieve the reduced data flow, no other device is required.

Besides using the GPIO pins for the RX and TX data streams these pins are used to upload the gateware into the FPGA.

Downsampling (another term for data flow reduction) by the gateware can go to : 48K, 96K, 192K or 384K samples per second for a receiver channel.

For all the receiver channels the same data rate (sample rate) is used, as a result of the openHPSDR Protocol-1 description.

Using the openHPSDR protocol-2 it is possible to use different sample rates per channel.

The radioberry is using the P-1; an hermeslite-2 gateware variant, using the radioberry firmware software component.

This radioberry variant implements max 4 RX channels, the data of these streams must be retrieved by the SBC.

^^^^^^^^^^^^^^^^^^^^^^^ Setup your Raspberry Pi. ^^^^^^^^^^^^^^^^^^^^^^^

Use the Raspberry Pi Imager to install the raspberry pi linux OS see : https://github.com/pa3gsb/Radioberry-2.x/wiki/Raspberry-PI-Setup

There are install scripts to install the radioberry software on the raspberry pi, see: https://github.com/pa3gsb/Radioberry-2.x/wiki/Radioberry---Configurations

The scripts will build and install the radioberry kernel module.

For more info about the kernel see the readme: https://github.com/pa3gsb/Radioberry-2.x/tree/master/SBC/rpi-4/device_driver/driver

This kernel module takes also care of loading the gateware into the FPGA. The kernel module implemenst the radioberry as a device wihtin the linux system.

This radioberry device is used by the radioberry firmware, which implements the protocol-1 enabling the connection to the different SDR programs, like pihpsdr, linhpsdr, quisk, SPARK, Powersdr etc.

Using the systemd - system and service manager of the linux; More reading see the readme; how to control this service: https://github.com/pa3gsb/Radioberry-2.x/tree/master/SBC/rpi-4/device_driver/systemd

Having setup the radioberry software you are able to run an SDR program on a different computer using ethernet connection.

It is also possible to run the SDR software like pihpsdr at your RPI.

To make it easy there is a pihpsdr_install script. This will install the DSP library WDSP and pihpsdr on to your RPI. https://github.com/pa3gsb/Radioberry-2.x/wiki/Radioberry---PIHPSDR

Start by clicking on the desktop image will start your radio.